Cache memory in computer systems may be kept coherent using a snoopy bus or a directory based protocol. In either case, a memory address is associated with a particular location in the system. This location is generally referred to as the “home node” of a memory address.
In a directory based protocol, processing/caching agents may send requests to a home node for access to a memory address with which a corresponding “home agent” (HA) is associated. Accordingly, performance of such computer systems may be directly dependent on how efficiently home agent data and/or memory is managed.